package com.kehutong.charge.entity;

import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;

/**
 * @program: kht
 * @description: MeterReading
 * @author: joneron
 * @create: 2021/7/22
 **/
@Table(value="t_charge_meter_reading", comment="抄表管理表",multi = true, idType = IDType.TIMESTAMP, engine = "innodb")
public class MeterReading extends DataEntity {

    protected MeterReading(String id) {
        super(id);
    }

    @Column(comment="仪表编号")
    private String meterNo;

    @Column(comment="抄表编号")
    private String meterNumber;

    @Column(comment="仪表分类编号")
    private String meterClassifyNo;

    @Column(comment="仪表分类名称")
    private String meterClassifyName;

    @Column(comment="仪表类型编号")
    private String meterTypeNo;

    @Column(comment="仪表名称")
    private String meterTypeName;

    @Column(comment="所属小区")
    private String communityNo;

    @Column(comment="所属小区名称")
    private String communityName;

    @Column(comment="仪表地址")
    private String meterAddress;

    @Column(comment="住户类型")
    private ResidentsTypeEnum residentsType;

    @Column(comment="房屋编号")
    private String houseNo;

    @Column(comment="用户id")
    private String userNo;

    @Column(comment="客户类型ID")
    private String userTypeNo;

    @Column(comment="上次读数(kWh)")
    private BigDecimal lastTimeNumber;

    @Column(comment="本次读数(kWh)")
    private BigDecimal timeNumber;

    @Column(comment="本月用量(kWh)")
    private BigDecimal timeUseNumber;

    @Column(comment="计费单位")
    private String calcUnit;

    @Column(comment="读数开始时间")
    private String startTime;

    @Column(comment="读数结束时间")
    private String endTime;

    @Column(comment="使用天数")
    private int useDay;

    @Column(comment="抄表年月")
    private String readYearMonth;

    @Column(comment="抄表本月")
    private String readMonth;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    @Column(comment = "创建人")
    private String createName;

    @Column(comment = "修改人")
    private String updateName;

    public ResidentsTypeEnum getResidentsType() {
        return residentsType;
    }

    public void setResidentsType(ResidentsTypeEnum residentsType) {
        this.residentsType = residentsType;
    }

    public String getCalcUnit() {
        return calcUnit;
    }

    public void setCalcUnit(String calcUnit) {
        this.calcUnit = calcUnit;
    }

    public String getMeterNo() {
        return meterNo;
    }

    public void setMeterNo(String meterNo) {
        this.meterNo = meterNo;
    }

    public String getMeterClassifyName() {
        return meterClassifyName;
    }

    public void setMeterClassifyName(String meterClassifyName) {
        this.meterClassifyName = meterClassifyName;
    }

    public String getMeterTypeName() {
        return meterTypeName;
    }

    public void setMeterTypeName(String meterTypeName) {
        this.meterTypeName = meterTypeName;
    }

    public String getMeterNumber() {
        return meterNumber;
    }

    public void setMeterNumber(String meterNumber) {
        this.meterNumber = meterNumber;
    }


    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getMeterTypeNo() {
        return meterTypeNo;
    }

    public void setMeterTypeNo(String meterTypeNo) {
        this.meterTypeNo = meterTypeNo;
    }

    public String getMeterClassifyNo() {
        return meterClassifyNo;
    }

    public void setMeterClassifyNo(String meterClassifyNo) {
        this.meterClassifyNo = meterClassifyNo;
    }

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getMeterAddress() {
        return meterAddress;
    }

    public void setMeterAddress(String meterAddress) {
        this.meterAddress = meterAddress;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    public String getUserTypeNo() {
        return userTypeNo;
    }

    public void setUserTypeNo(String userTypeNo) {
        this.userTypeNo = userTypeNo;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public int getUseDay() {
        return useDay;
    }

    public void setUseDay(int useDay) {
        this.useDay = useDay;
    }

    public String getReadYearMonth() {
        return readYearMonth;
    }

    public void setReadYearMonth(String readYearMonth) {
        this.readYearMonth = readYearMonth;
    }

    public String getReadMonth() {
        return readMonth;
    }

    public void setReadMonth(String readMonth) {
        this.readMonth = readMonth;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public BigDecimal getLastTimeNumber() {
        return lastTimeNumber;
    }

    public void setLastTimeNumber(BigDecimal lastTimeNumber) {
        this.lastTimeNumber = lastTimeNumber;
    }

    public BigDecimal getTimeNumber() {
        return timeNumber;
    }

    public void setTimeNumber(BigDecimal timeNumber) {
        this.timeNumber = timeNumber;
    }

    public BigDecimal getTimeUseNumber() {
        return timeUseNumber;
    }

    public void setTimeUseNumber(BigDecimal timeUseNumber) {
        this.timeUseNumber = timeUseNumber;
    }
}
